/**
 * @description 组件样式
 * @author: 陈陈
 * @date: 2025/05/09
 * @phone: 18560000860
 * @email: 18560000860@qq.com
 * @company: 济南晨霜信息技术有限公司 /
 * @business: 承接前后端项目的开发
 */
.pure-dialog {
	height: 0;
	position: fixed;
	z-index: var(--pure-z-index-upper);

	&__container {
		width: var(--pure-dialog-width, 80%);
		height: var(--pure-dialog-height);
		max-width: var(--pure-dialog-max-width, 100%);
		max-height: var(--pure-dialog-max-height, 80%);
		display: flex;
		flex-direction: column;
		background: var(--pure-dialog-background, var(--pure-background-default));
		border-radius: var(--pure-dialog-border-radius, var(--pure-radius-default));
		position: var(--pure-dialog-position, relative);
		margin: var(--pure-dialog-margin);
		padding: var(--pure-dialog-padding);
		align-self: var(--pure-dialog-align-self);
		transform: var(--pure-dialog-transform);
		z-index: var(--pure-dialog-z-index, var(--pure-z-index-upper));
		box-shadow: var(--pure-dialog-shadow, 0 10px 20px rgba(0, 0, 0, 0.2));
		top: var(--pure-dialog-top);
		left: var(--pure-dialog-left);
		right: var(--pure-dialog-right);
		bottom: var(--pure-dialog-bottom);
		animation-timing-function: var(--pure-dialog-animation-timing-function, ease-in-out);
		animation-duration: var(--pure-dialog-animation-duration, 300ms);
		animation-delay: 0ms;
		animation-iteration-count: 1;
		animation-fill-mode: forwards;
	}

	&__header {
		flex-shrink: 0;
		height: var(--pure-dialog-header-height);
		display: flex;
		flex-direction: row;
		align-items: var(--pure-dialog-header-align-items, center);
		justify-content: var(--pure-dialog-header-justify-content, center);
		position: relative;
		margin: var(--pure-dialog-header-margin);
		padding: var(--pure-dialog-header-padding, 12px 16px);
		position: relative;
		border-radius: var(
			--pure-dialog-header-border-radius,
			var(--pure-dialog-border-radius, var(--pure-radius-default))
				var(--pure-dialog-border-radius, var(--pure-radius-default)) 0 0
		);
		border-bottom: var(
			--pure-dialog-header-border-bottom,
			var(--pure-dialog-header-border-bottom-width, 0) var(--pure-dialog-header-border-bottom-style, solid)
				var(--pure-dialog-header-border-bottom-color, var(--pure-border-color-light))
		);
	}

	&__title {
		font-size: var(--pure-dialog-title-font-size, var(--pure-font-size-large));
		font-weight: var(--pure-dialog-title-font-weight, 600);
		color: var(--pure-dialog-title-color);
		text-align: var(--pure-dialog-title-text-align, center);
		line-height: var(--pure-dialog-title-line-height);
		flex: 1;
	}

	&__close {
		position: var(--pure-dialog-close-position, absolute);
		color: var(--pure-dialog-close-color);
		top: var(--pure-dialog-close-top, 10px);
		bottom: var(--pure-dialog-close-bottom);
		left: var(--pure-dialog-close-left);
		right: var(--pure-dialog-close-right, 8px);
		font-size: var(--pure-dialog-close-font-size, var(--pure-font-size-large));
		z-index: var(--pure-dialog-close-z-index, 2);
		border: var(--pure-dialog-close-border-width, 0) var(--pure-dialog-close-border-style, solid)
			var(--pure-dialog-close-border-color, currentColor);
		border-radius: var(--pure-dialog-close-border-radius);
		width: var(--pure-dialog-close-width);
		height: var(--pure-dialog-close-height);
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: center;
		transform: var(--pure-dialog-close-transform);
		font-weight: var(--pure-dialog-close-font-weight, 600);
		line-height: 1;
		margin: var(--pure-dialog-close-margin);
		padding: var(--pure-dialog-close-padding);
	}

	&__line {
		&--button {
			width: var(--pure-dialog-button-line-size, var(--pure-dialog-line-size, 1px));
			height: var(--pure-dialog-button-line-height, 100%);
			background: var(
				--pure-dialog-button-line-color,
				var(--pure-dialog-line-color, var(--pure-border-color-light))
			);
			flex-shrink: 0;
		}
	}

	&__top {
		flex-shrink: 0;
	}

	&__body {
		flex: 1;
		overflow: hidden;
		padding: var(--pure-dialog-body-padding);
		margin: var(--pure-dialog-body-margin);
	}

	&__bottom {
		flex-shrink: 0;
	}

	&__scroll-view {
		width: 100%;
		height: 100%;
	}

	&__content {
		text-align: var(--pure-dialog-content-text-align, justify);
		padding: var(--pure-dialog-content-padding, 0 20px);
		background: var(--pure-dialog-content-background);
	}

	&__footer {
		flex-shrink: 0;
		height: var(--pure-dialog-footer-height);
		display: flex;
		flex-direction: row;
		align-items: var(--pure-dialog-footer-align-items, center);
		justify-content: var(--pure-dialog-footer-justify-content, center);
		text-align: var(--pure-dialog-footer-text-align, center);
		background: var(--pure-dialog-footer-background);
		font-size: var(--pure-dialog-footer-font-size);
		color: var(--pure-dialog-footer-color);
		margin: var(--pure-dialog-footer-margin);
		padding: var(--pure-dialog-footer-padding);
		gap: var(--pure-dialog-footer-gap);
		border-radius: var(
			--pure-dialog-footer-border-radius,
			0 0 var(--pure-dialog-border-radius, var(--pure-radius-default))
				var(--pure-dialog-border-radius, var(--pure-radius-default))
		);
		font-weight: var(--pure-dialog-footer-font-weight);
		border-top: var(
			--pure-dialog-footer-border-top,
			var(--pure-dialog-footer-border-top-width, 0) var(--pure-dialog-footer-border-top-style, solid)
				var(--pure-dialog-footer-border-top-color, var(--pure-border-color-light))
		);

		&__button {
			flex: var(--pure-dialog-footer-button-flex, 1);
			height: var(--pure-dialog-footer-button-height, 3em);
			display: flex;
			flex-direction: row;
			align-items: center;
			justify-content: center;
			--pure-button-height: 100%;
			--pure-button-width: 100%;

			&--cancel {
				--pure-button-color: var(--pure-dialog-footer-button-cancel-color);
				--pure-button-font-size: var(--pure-dialog-footer-button-cancel-font-size);
				--pure-button-font-weight: var(--pure-dialog-footer-button-cancel-font-weight);
				--pure-button-background: var(--pure-dialog-footer-button-cancel-background);
			}

			&--confirm {
				--pure-button-color: var(--pure-dialog-footer-button-confirm-color);
				--pure-button-font-size: var(--pure-dialog-footer-button-confirm-font-size);
				--pure-button-font-weight: var(--pure-dialog-footer-button-confirm-font-weight);
				--pure-button-background: var(--pure-dialog-footer-button-confirm-background);
			}
		}
	}

	&--not-footer {
		.pure-dialog__content {
			padding: var(--pure-dialog-content-padding, 0 20px 20px);
		}
	}

	&--header-line {
		.pure-dialog__header {
			border-bottom-width: var(--pure-dialog-header-bottom-width, 1px);
		}

		.pure-dialog__footer {
			border-top-width: var(--pure-dialog-footer-top-width, 1px);
		}
	}

	&--enter {
		animation-name: animationPureScaleIn;
	}

	&--leave {
		animation-name: animationPureScaleLeave;
	}
}
